package com.zhuoyue.system.service;


import com.zhuoyue.common.core.domain.BatchResultDTO;
import com.zhuoyue.common.core.domain.ResultDTO;
import com.zhuoyue.common.core.domain.TblCountAndTimeDO;
import com.zhuoyue.system.domain.vo.TblReportFormsVo;


/**
 * ClassName: TblReportFormsService <br/>
 * Description: <br/>
 * date: 2019/5/29 11:53<br/>
 *
 * @author wjming<br />
 * @version 1.0
 */
public interface TblReportFormsService {
    /**
     * 获取用户，设备，网关，消息总数量
     *
     * @param orgCode
     * @param tblReportFormsBO
     * @return
     */
    public ResultDTO getUserAndDeviceAndGatewayAndMessageCount(String orgCode, TblReportFormsVo tblReportFormsBO);


    public ResultDTO getUserReportFormsData(String type, String time, String orgCode);

    /**
     * 一周的用户增长量
     *
     * @param query
     * @return
     */
    public BatchResultDTO<TblCountAndTimeDO> getRegisterUserEveryWeek(TblReportFormsVo query);

    /**
     * 一周总数用户增长量
     *
     * @param query
     * @return
     */
    public BatchResultDTO<TblCountAndTimeDO> getDeviceCountEveryWeek(TblReportFormsVo query);

    /**
     * 一个月总数用户增长量
     *
     * @param query
     * @return
     */
    public BatchResultDTO<TblCountAndTimeDO> getGateWayCountEveryWeek(TblReportFormsVo query);
}
